home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
glass
/
glass.lha
/
GLASS
/
libtmc
/
Makefile
< prev
next >
Wrap
Makefile
|
1991-02-14
|
6KB
|
332 lines
# tm C support library makefile
# (base) Name of ar and lint library for this library
default:all
LIBID = tmc
ARLIB = $(LIBID)
LINTLIB = $(LIBID)
LDFLAGS =
LINTLIBS = $(LINTLIBLOC)
LINTFLAGS = -I$(IDIR) $(DBUG) -D$(SYS)
CFLAGS = $(SYSCFLAGS) -I$(IDIR) $(DBUG) -D$(SYS)
# Obsolete files. Will be removed on all remote machines
OLDFILES =
# Version number of this libary
VERSION = 3
LINKER = cc
INSTHFILES = tmc.h
TESTSRCS = testprog.c
TESTFILES = testin goodout gooderr $(TESTSRCS)
JUNK = testprog testerr testout tmp core mon.out gmon.out $(ARLIBNAME) \
$(LINTLIBNAME) lib$(LIBID)_p.a lib$(LIBID)_g.a lint libtmc.lint \
tags lintlib.out profilelib debuglib makelog
SRCS = badtag.c \
cmpdbl.c \
errmsg.c \
fatal.c \
fneedc.c \
fprdbl.c \
fprint.c \
fpruns.c \
fprstr.c \
fsccbrac.c \
fsccons.c \
fscdbl.c \
fscbool.c \
fscint.c \
fscuns.c \
fscobrac.c \
fscspace.c \
fscstr.c \
newstr.c \
prdbl.c \
print.c \
pruns.c \
propt.c \
prstr.c \
testprog.c
HDRS = config.h \
tmc.h
OBJS = badtag.o \
cmpdbl.o \
errmsg.o \
fatal.o \
fneedc.o \
fprdbl.o \
fprint.o \
fpruns.o \
fprstr.o \
fsccbrac.o \
fsccons.o \
fscdbl.o \
fscbool.o \
fscint.o \
fscuns.o \
fscobrac.o \
fscspace.o \
fscstr.o \
newstr.o \
prdbl.o \
print.o \
pruns.o \
propt.o \
prstr.o \
testprog.o
LIBSRCS = fscdbl.c \
fscint.c \
fscuns.c \
fscstr.c \
fscbool.c \
fscspace.c \
fscobrac.c \
fsccbrac.c \
fneedc.c \
fsccons.c \
prdbl.c \
cmpdbl.c \
print.c \
pruns.c \
propt.c \
prstr.c \
fprdbl.c \
fprint.c \
fpruns.c \
fprstr.c \
newstr.c \
errmsg.c \
fatal.c \
badtag.c
LIBOBJS = fscdbl.o \
fscint.o \
fscuns.o \
fscstr.o \
fscbool.o \
fscspace.o \
fscobrac.o \
fsccbrac.o \
fneedc.o \
fsccons.o \
prdbl.o \
cmpdbl.o \
print.o \
pruns.o \
propt.o \
prstr.o \
fprdbl.o \
fprint.o \
fpruns.o \
fprstr.o \
newstr.o \
errmsg.o \
fatal.o \
badtag.o
TESTOBJS = testprog.o
DOC = README CHANGES testprog.prj libtmc.prj makefile.tc makefile.unx
PROGS =
MAKEFILE = Makefile
DISTFILES = $(LIBSRCS) $(HDRS) $(DOC) $(MAKEFILE) $(TESTFILES)
LINTLIBSRCS = $(LIBSRCS)
AROBJS = $(LIBOBJS)
#++ make module lintlib start, do NOT touch this line. ++
### lintlib ###
# LINTLIBSRCS - list of source files for this lint lib
# LINTFLAGS - additional lint flags
# LINTLIB - base name of lint library to create
LINTLIBNAME = llib-l$(LINTLIB).ln
$(LINTLIBNAME): $(LINTLIBSRCS)
lint -o $(LINTLIB) $(SYSLINTFLAGS) $(LINTFLAGS) $(LINTLIBSRCS)
#++ make module lintlib end, do NOT touch this line. ++
#++ make module arlib start, do NOT touch this line. ++
### arlib ###
# AROBJS - list of source files for ar
# ADDITIONALarFLAGS - additional ar flags
# ARLIB - base name of ar library to create
ARFLAGS = rv
ARLIBNAME = lib$(ARLIB).a
$(ARLIBNAME): $(AROBJS)
ar $(ARFLAGS) $(ARLIBNAME) $(ADDITIONALarFLAGS) $(AROBJS)
#ranlib $(ARLIBNAME)
#++ make module arlib end, do NOT touch this line. ++
#++ make module local start, do NOT touch this line. ++
# Installation dependent make variables for ericv on HERMES
# full path of the ESPRIT environment
ESPRITDIR = /home1/forfun
# BDIR : bin directory
BDIR = $(ESPRITDIR)/binA
# IDIR : include directory
IDIR = $(ESPRITDIR)/include
# LDIR : library directory
LDIR = $(ESPRITDIR)/libA
NFULLDS = $(ESPRITDIR)/ds/nfullgl.ds
NKERNDS = $(ESPRITDIR)/ds/nkerngl.ds
# HOSTNAME : name of installation machine.
HOSTNAME=hermes
# SYS : name of operating system or machine type
# BSD For generic BSD systems
# AVIION For generic DG_UX systems
# HPUX For all HP-UX systems
# SUN For all SUN systems
# APOLLO For all Apollo systems
SYS = AVIION
# CLIBLOC : required C libraries
CLIBLOC =
LINTLIBLOC =
PASLIBLOC =
# CBADADR : address that will cause a core-dump if read or written.
CBADADR = 0
SYSLINTFLAGS = -hpac
SYSCFLAGS =
SYSCPROFFLAGS =
SYSCDBUGFLAGS =
SYSPFLAGS =
OFLAG= -O
# Collection of host dependent make rules.
### libinstall ###
# MODULE - module to install
libinstall:
cp $(MODULE) $(LDIR)/$(MODULE)
### includeinstall ###
# MODULE - module to install
includeinstall:
cp $(MODULE) $(IDIR)/$(MODULE)
### maninstall ###
# MAN - manual page to install
maninstall:
cp $(MAN) /usr/man/manl
### bininstall ###
# MODULE - module to install
bininstall:
cp $(MODULE) $(BDIR)/$(MODULE)
strip $(BDIR)/$(MODULE)
### arlibinstall ###
# MODULE - module to install
arlibinstall:
cp $(MODULE) $(LDIR)/$(MODULE)
LINK.c=$(CC)
#++ make module local end, do NOT touch this line. ++
help :
@echo " Possible make targets:"
@echo "all Create local running programs."
@echo "clean Free disk space."
@echo "distfiles List distribution files."
@echo "install Install relevant files."
@echo "setup Adapt sources to local situation."
@echo "test Run tests."
profilelib: $(LIBSRCS)
rm -f $(LIBOBJS)
make 'ARLIB=$(LIBID)_p' 'SYSCFLAGS=$(SYSCPROFFLAGS)' lib$(LIBID)_p.a
rm -f $(LIBOBJS)
touch $@
debuglib: $(LIBSRCS)
rm -f $(LIBOBJS)
make 'ARLIB=$(LIBID)_g' 'SYSCFLAGS=$(SYSCDBUGFLAGS)' lib$(LIBID)_g.a
rm -f $(LIBOBJS)
touch $@
all: lib$(LIBID).a
# Add rules for the programs themselves here.
testprog: $(TESTOBJS) $(ARLIBNAME)
$(LINKER) $(LDFLAGS) $(TESTOBJS) libtmc.a $(LIBS) -o testprog
test: testprog testin
-sh -c './testprog < testin > testout 2> testerr'
diff testout goodout
diff testerr gooderr
install: $(ARLIBNAME)
make 'MODULE=$(ARLIBNAME)' arlibinstall
make 'MODULE=$(INSTHFILES)' includeinstall
tags: $(LIBSRCS) $(TESTSRCS)
ctags $(LIBSRCS) $(TESTSRCS)
clean:
rm -f $(OBJS) $(JUNK)
distfiles:
@echo $(DISTFILES) | tr ' ' '\012'
setup:
modmake local ../make.local $(MAKEFILE)
modmake arlib ../make.arlib $(MAKEFILE)
modmake lintlib ../make.lintlib $(MAKEFILE)
rm -f $(OLDFILES)
lint: $(TESTSRCS)
lint $(SYSLINTFLAGS) $(LINTFLAGS) $(TESTSRCS) $(LINTLIBS) > lintout
# Non-standard make rules
depend:
mkmf -f $(MAKEFILE)
###
badtag.o : tmc.h
errmsg.o : tmc.h
fatal.o : tmc.h
fneedc.o : tmc.h config.h
fprdbl.o : tmc.h config.h
fprint.o : tmc.h
fprstr.o : tmc.h
fsccbrac.o : tmc.h config.h
fsccons.o : tmc.h config.h
fscdbl.o : tmc.h
fscint.o : tmc.h
fscobrac.o : tmc.h config.h
fscspace.o : tmc.h config.h
fscstr.o : tmc.h config.h
newstr.o : tmc.h config.h
prdbl.o : tmc.h config.h
print.o : tmc.h
propt.o : tmc.h
prstr.o : tmc.h
testprog.o : tmc.h